package com.xuecheng.learning.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.base.model.PageResult;
import com.xuecheng.learning.model.dto.MyCourseTableParams;
import com.xuecheng.learning.model.dto.XcCourseTablesDTO;
import com.xuecheng.learning.model.po.XcCourseTables;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 勾新杰
 * @since 2025-02-26
 */
public interface IXcCourseTablesService extends IService<XcCourseTables> {

    /**
     * 根据课程id查询当前用户的学习资格
     * @param courseId 课程id
     * @return 学习资格
     */
    XcCourseTablesDTO getLearningQualification(Long courseId);

    /**
     * 根据课程id和指定用户id查询学习资格
     * @param courseId 课程id
     * @param userId   用户id
     * @return 学习资格
     */
    XcCourseTablesDTO getLearningQualification(Long courseId, String userId);

    /**
     * 我的课程表
     * @param params 查询条件
     * @return 分页数据
     */
    PageResult<XcCourseTables> myCourseTable(MyCourseTableParams params);

    /**
     * 根据用户id查询我的课程表
     * @param userId 用户id
     * @return 我的课程表
     */
    List<XcCourseTables> getCourseTables(String userId);
}
